Test-Suite Reduction and Prioritization for Modified Condition/Decision Coverage
نویسندگان
چکیده
Software testing is particularly expensive for developers of high-assurance software, such as software that is produced for commercial airborne systems. One reason for this expense is the Federal Aviation Administration’s requirement that test suites be modified condition/decision coverage (MC/DC) adequate. Despite its cost, there is evidence that MC/DC is an effective verification technique and can help to uncover safety faults. As the software is modified and new test cases are added to the test suite, the test suite grows and the cost of regression testing increases. To address the test-suite size problem, researchers have investigated the use of test-suite reduction algorithms, which identify a reduced test suite that provides the same coverage of the software according to some criterion as the original test suite, and test-suite prioritization algorithms, which identify an ordering of the test cases in the test suite according to some criteria or goals. Existing test-suite reduction and prioritization techniques, however, may not be effective in reducing or prioritizing MC/DC-adequate test suites because they do not consider the complexity of the criterion. This paper presents new algorithms for test-suite reduction and prioritization that can be tailored effectively for use with MC/DC. The paper also presents the results of empirical studies of these algorithms.
منابع مشابه
Regression Test Selection and Prioritization Using Variables: Analysis and Experimentation
reducing test suite size without compromising the suite’s effectiveness in performing regression testing. This article presents a hybrid technique using the variable-based method that combines both selection and prioritization. It considers source code changes and coverage information with respect to each test case. Variables are the vital source of changes in the program, and this method captu...
متن کاملA Genetic Algorithm for Fault based Regression Test Case Prioritization
Regression testing is the process of validating modified software to detect errors that have been introduced into previously tested code. As the software is modified, the size of the test suite grows and the cost of regression testing increases. In this situation, test case prioritization aims to improve the effectiveness of regression testing by ordering the test cases so that most beneficial ...
متن کاملA Genetic Algorithm for Regression Test Case Prioritization Using Code Coverage
Regression testing is a testing technique which is used to validate the modified software. The regression test suite is typically large and needs an intelligent method to choose those test cases which will detect maximum or all faults at the earliest. Many existing prioritization techniques arrange the test cases on the basis of code coverage with respect to older version of the modified softwa...
متن کاملModel-Based Test-Suite Minimization using Modified Condition/Decision Coverage (MC/DC)
Testing is very expensive for high-assurance software, like commercial aircraft systems, weapon research, weather forecast, earthquake forecast, and software used for safety critical system. A small and simple flaw in the end product can be enough for destroying the entire effort of the developer with a huge unrecoverable damage to the society. For this reason, Federal Aviation Administration’s...
متن کاملCode Coverage Based Test Case Selection and Prioritization
Regression Testing is exclusively executed to guarantee the desirable functionality of existing software after pursuing quite a few amendments or variations in it. Perhaps, it testifies the quality of the modified software by concealing the regressions or software bugs in both functional and non-functional applications of the system. In fact, the maintenance of test suite is enormous as it nece...
متن کامل